/****************************************************
文件：HeaderUI.cs
作者：UnitySir
邮箱：zouajck@foxmail.com
日期：2021/03/22 20:24:37
功能：Nothing
*****************************************************/

/**********************************
注意事项：
    1. uiCamera 的深度设置为3(比0大即可)保证UI能够显示
    2. UI 要设置为居中显示
**********************************/

using DSFramework;
using UnityEngine;

/// <summary>
/// UI 跟随 物体显示
/// </summary>
public class HeaderUI : MonoBehaviour
{
    [Header("拍摄物体的相机")] [SerializeField] private Camera _mainCamera; //主要的相机
    [Header("拍摄UI的相机")] [SerializeField] private Camera _uiCamera; //UI相机
    [Header("需要显示的UI")] [SerializeField] private RectTransform _ui; //UI元素
    [Header("需要显示UI的物体")] [SerializeField] private GameObject _obj; //需要显示UI的物体
    [Header("画布")] [SerializeField] private Transform _canvas; //画布

    [Header("AB包的名称 和 资源名称")] [SerializeField]
    private string abName;

    [SerializeField] private string resName;

    private static int count = 0; //计数(保证名称不唯一)

    public RectTransform UI
    {
        get { return _ui; }
        set { _ui = value; }
    }

    private void Start()
    {
        if (_obj == null) _obj = gameObject;
        DSEntity.Mono.AddUpdate("HeaderUI" + count++, OnUpdate);
    }

    void OnUpdate()
    {
        DStaticFunc.UI_Follow_Model_Camera(_mainCamera, _uiCamera, _ui, _obj, _canvas);
    }
}